﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using OgilvyOne.DALCore;

namespace OgilvyOne.IDAL
{
    /// <summary>
    /// 数据库类型的访问接口定义
    /// </summary>
    public interface IDBService : ICommonQueryService
    { /// <summary>
        /// 执行无返回数据集的存储过程
        /// </summary>
        /// <param name="procName">存储过程的名称</param>
        /// <param name="parms">参数集合</param>
        /// <returns>存储过程影响的数据行数</returns>
        int ExecuteStoredProcedure(string procName, OleDbParameter[] parms);
        /// <summary>
        /// 执行有DataSet返回的存储过程
        /// </summary>
        /// <param name="procName">存储过程的名称</param>
        /// <param name="parms">参数集合</param>
        /// <returns>执行存储过程得到的数据集</returns>
        DataSet ExecuteStoredProcedureDataSet(string procName, OleDbParameter[] parms);

        /// <summary>
        /// 执行Sql语句返回数据记录
        /// 如果执行过程中有异常,则抛出;
        /// 如果查询结果为空,则OleDbDataReader为空
        /// </summary>
        /// <param name="queryString">要执行的Sql语句列表</param>
        /// <returns>返回记录</returns>
        OleDbDataReader GetDataReader(string queryString);
        /// <summary>
        /// 执行Sql语句返回首行首列数据
        /// 如果执行过程中有异常,则抛出;
        /// 如果查询结果为空,则对象为空
        /// </summary>
        /// <param name="queryString">要执行的Sql语句列表</param>
        /// <returns>某数据类型</returns>
        object GetScalar(string queryString);
       
       
    }
}
